package com.zy.portal.service.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import com.zy.common.util.HttpClientUtil;
import com.zy.common.util.JsonUtils;
import com.zy.common.util.TaotaoResult;
import com.zy.pojo.TbContent;
import com.zy.portal.service.ContentService;

/**
 * 调用服务层服务，查询内容列表
 * @author fys
 */
@Service
public class ContentServiceImpl implements ContentService {
	// 读取properties 文件中的信息
	/*
	 * 基础路径
	 */
	@Value("${REST_BASE_URL}")
	private String REST_BASE_URL;
	/*
	 * 大广告路径
	 */
	@Value("${REST_INDEX_AD_URL}")
	private String REST_INDEX_AD_URL;

	@Override
	public String getContentList() {
		// 1.使用HttpClientUtil发送请求，转成json格式，拼接
		String data = HttpClientUtil.doPost(REST_BASE_URL + REST_INDEX_AD_URL);
		
		try {
			// 2.将json数据转成对象
			TaotaoResult taotaoResult = TaotaoResult.formatToList(data, TbContent.class);
			
			// 3.取内容列表数据
			List<TbContent> list = (List<TbContent>) taotaoResult.getData();
			
			List<Map<String,Object>> resultList = new ArrayList<>();
			
			// 4.遍历集合，转成页面要求的格式
			for (TbContent tbContent : list) {
				Map<String, Object> map = new HashMap<>();
				/*
				 * key值与页面参数对应
				 */
				// 图片1
				map.put("src", tbContent.getPic());
				map.put("height", 240);
				map.put("width", 670);
				// 图片2
				map.put("srcB", tbContent.getPic2());
				map.put("widthB", 550);
				map.put("heightB", 240);
				// 该广告对应的链接url
				map.put("href", tbContent.getUrl());
				// 广告标题
				map.put("alt", tbContent.getSubTitle());
				resultList.add(map);
			}
			// 5.将对象转换成json字符串
			return JsonUtils.objectToJson(resultList);
		} catch (Exception e) {
			e.printStackTrace();
		}

		return null;
	}

}
